ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド
リリース6.0
B25770-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttBulkCp

説明

TimesTen表とASCIIファイル間でデータをコピーします。ttBulkCpには、次の2つのモードがあります。

構文
ttBulkCp [-h | -help | -? | -helpfull] 
ttBulkCp [-V | -version] 
ttBulkCp -i [-cp numTrans | final] [-d errLevel]
[-e errorFile] [-m maxErrs] [-sc] [-t errLevel]
[-u errLevel] [-v verbosity] [-xp numRows | rollback]
[-Cc | -Cnone] [-tformat timeFormat]
[-tsformat timeStampFormat] [-dformat | -D dateFormat]
[-F firstRow] [-L lastRow] [-N ncharEncoding] [-Q 0|1]
[-S errLevel] {-connStr connection_string | DSN}
[owner.]tableName [dataFile ...] 
ttBulkCp -o [-sc] [-v verbosity] [-A 0|1] [-Cc | -Cnone]
[-tformat timeFormat] [-tsformat timeStampFormat]
[-dformat | -D dateFormat]  [-N ncharEncoding]
[-tsprec precision] [-Q 0|1]
{-connStr connection_string | DSN} [owner.]tableName
[dataFile] 
オプション

ttBulkCpには次のオプションがあります。

-Cnone 
-Cc 
-Cnoneは出力ファイルでのコメントの使用を無効にします。
-Ccは、デフォルトのコメント文字をcに設定します。デフォルトのコメント文字を指定しない場合、シャープ記号(#)が使用されます。-Cオプションの値は、\t(タブ)、または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。
このオプションはCOMMENTCHARファイル属性を上書きします。
注意: このオプションは、オプション・フラグと値の間に空白を入れずに指定する必要があります。
-connStr 
connection_string 
データ・ストア名、サーバー名とDSN(必要に応じて)および関連する接続属性を含むODBC接続文字列。
DSN 
コピーするデータ・ストアのODBCデータソース名を指定します。
-D | -dformat 
dateFormat 
日付書式を設定します。指定できる固定値については、「日付、時刻およびタイムスタンプの値」を参照してください。このオプションはDFORMATファイル属性を上書きします。デフォルトはODBCです。「-tformat」および「-tsformat」も参照してください。
dataFile 
コピーイン・モードでは、表に挿入する行を含む1つ以上のASCIIファイルのパス名を指定します。ファイルを指定しないと、標準入力が使用されます。単一のハイフン(-)は標準入力を意味するものと理解されます。
コピーアウト・モードでは、行のコピー先のファイルのパス名を指定します。ファイルを指定しないと、標準出力が使用されます。単一のハイフン(-)は標準出力を意味するものと理解されます。
-h
-help 
-? 
使用方法についての短いメッセージを出力して終了します。
-helpfull 
使用方法についての長いメッセージを出力して終了します。
-i 
コピーイン・モードを選択します。
-m maxErrors  
レポートするエラーの最大数。デフォルトは10です。関連エラーがいくつか追加されてレポートされる場合もあります。0の場合、ユーティリティは接続のみを行って戻ります。
-N ncharEncoding 
Unicode文字エンコード(ASCIIまたはUTF-8)を指定します。デフォルトはUTF-8です。このオプションはNCHARENCODINGファイル属性を上書きします。
-o 
コピーアウト・モードを選択します。
owner 
保存またはロードする表の所有者を指定します。ownerを省略すると、TimesTenは、まずユーザー名で、次にユーザー名SYSで表を検索します。このパラメータでは大/小文字は区別されません。
-Q [0 | 1] 
文字列値を二重引用符で囲むかどうかを示します。
0: 文字列を引用符で囲まないことを示します。
1: (デフォルト)文字列を引用符で囲むことを示します。
このオプションはQUOTESファイル属性を上書きします。
-sc 
デフォルトのフィールド区切り文字をcに設定します。デフォルトのフィールド区切り文字を指定しない場合、カンマ(,)が使用されます。-sオプションの値は、\t(タブ)、または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。
このオプションはFSEPファイル属性を上書きします。
注意: このオプションは、オプション・フラグと値の間に空白を入れずに指定する必要があります。
tableName 
保存またはロードする表の名前を指定します。このパラメータでは大/小文字は区別されません。
-tformat 
timeFormat 
時刻書式を設定します。指定できる値は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はODBCです。このオプションはTSFORMATファイル属性を上書きします。「-D | -dformat」および「-tsformat」も参照してください。
-tsformat 
timestampFormat 
タイムスタンプ書式を設定します。指定できる固定値は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はDF*TF+FFです。これは、日付書式、時間書式および小数秒を連結したものです。このオプションはTFORMATファイル属性を上書きします。「-D | -dformat」および「-tformat」も参照してください。
-V | -version 
ttBulkCpのリリース番号を出力して終了します。
-vverbosity 
冗長レベルを設定します。
0: サマリーを抑制します。
1: (デフォルト)完了時にコピーした行のサマリーを出力します。

次のオプションは、コピーアウト・モードでのみ使用できます。

-A [0 | 1] 
ttBulkCpが出力ファイルの属性行を抑制するかどうかを示します。
0: (デフォルト)ttBulkCpは出力ファイルに属性行を書き出すことができます。
1: 属性行の出力を抑制します。
-tsprec precision 
-oオプションとともに使用した場合、タイムスタンプ値がprecisionに切り捨てられます。ttBulkCpでは、小数秒フィールドに最大6桁を入力できます。他のRDBMSを使用してタイムスタンプをコピーする場合、切捨てが必要な場合があります。

次のオプションは、コピーイン・モードでのみ使用できます。

-cp numTrans 
-cp final 
コピーインのチェックポイント・ポリシーを設定します。0の値は、コピー全体が完了した後にも、ttBulkCpはデータ・ストアのチェックポイントを行わないことを示します。0以外の値は、numTransトランザクションごとに、さらにコピー全体が完了した後に、ttBulkCpがデータ・ストアのチェックポイントを行うことを示します。finalの値は、コピー全体が完了した場合にのみttBulkCpがデータ・ストアのチェックポイントを行うことを示します。デフォルト値は0です。定期的なコミットも有効になっている場合にのみ、定期的なチェックポイントを有効にできます。-xpオプションを参照してください。
-d error 
-d warn 
-d ignore  
デフォルトでは、ttBulkCpは、エラーとなる一意の列や索引での制約違反が原因で拒否される行を無視します。
-d error: 制約違反をエラーとみなすことを指定します。重複行は、maxErrs(-mを参照)に対してカウントされ、エラー・ファイル(-eを参照)に記録されます。
-d warn: ttBulkCpは問題の行をエラー・ファイルにコピーするが、エラーとしてはカウントしないことを指定します。
-d ignore: (デフォルト)ttBulkCpは重複行を暗黙的に無視することを指定します。
-dの設定にかかわらず、重複行は表に挿入されません。
-e errFile 
エラーのためにTimesTen表にコピーできない行に関する情報を、ttBulkCpが記録するファイルの名前を示します。このようなエラーには、解析エラー、型変換エラーおよび制約違反が含まれます。errFileのデフォルト値はstderrです。エラー・ファイルの書式は入力ファイルの書式(「データファイルの書式」を参照)と同じであるため、エラー・ファイルのエラーを修正して、その後のttBulkCpの実行時に、修正したエラー・ファイルを入力ファイルとして使用することもできます。
-F firstRow 
コピーする最初の行の番号を示します。このオプションを-Lなどとともに使用して、TimesTen表に行のサブセットをコピーできます。行には、1から始まる番号が付けられます。複数の入力ファイルを指定した場合、行には、すべてのファイルをとおした連続番号が付けられます。デフォルト値は1です。
-L lastRow 
コピーする最後の行の番号を示します。-Fの説明を参照してください。0の値は最後の入力ファイルの最後の行を指定します。デフォルト値は0です。
-S error 
-S warn 
-S ignore 
デフォルトでは、ttBulkCpによってその最大スケールを超える値が検出されると、エラーが発行されます。このエラーは、スケールがその列の最大スケールを超える10進値、または小数秒が6桁を超える(つまり、サブマイクロ秒の粒度)TIMESTAMP値に対して発行されます。
-S error: (デフォルト)ttBulkCpがその最大スケールを超える値を含む行を表に挿入せず、エラーをエラー・ファイルに記録することを指定します。
-S warn: ttBulkCpが行を表に挿入する前に、その最大スケールまで値の右側を切り捨て、警告をエラー・ファイルに記録することを指定します。
-S ignore: ttBulkCpが行を表に挿入する前に、その最大スケールまで値の右側を暗黙的に切り捨てることを指定します。
-t error 
-t warn 
-t ignore  
デフォルトでは、CHAR、VARCHAR、NCHAR、NVARCHAR、BINARYまたはVARBINARYの値がその最大列幅を超えている場合、ttBulkCpによってエラーが発行されます。
-t error: (デフォルト)長い文字列やbinary属性を含む行はTimesTen表に挿入されず、エラーがエラー・ファイルに記録されることを指定します。
-t warn: 長い文字列やbinary属性は表に挿入される前に最大列長に切り捨てられるが、警告がエラー・ファイルに記録されることを指定します。
-t ignore: 長い文字列やbinary属性は、表に挿入される前に最大列長に暗黙的に切り捨てられることを指定します。
-u error 
-u warn 
-u ignore  
デフォルトでは、real、floatまたはdouble属性のアンダフロー時に、ttBulkCpはエラーを発行します。アンダフローは、浮動小数点数が非常に小さく、0(ゼロ)に切り捨てられる場合に発生します。
-u error: (デフォルト)アンダーフローしたreal、floatまたはdouble値を含む行はTimesTen表に挿入されず、エラーがエラー・ファイルに記録されることを指定します。
-u warn: アンダフローしたreal、floatまたはdouble属性に0.0が挿入されるが、警告がエラー・ファイルに記録されることを指定します。
-u ignore: アンダフローしたreal、floatまたはdouble属性に、暗黙的に0.0が挿入されることを指定します。
-xp numRows 
-xp rollback 
ロードのトランザクション・ポリシーを設定します。0の値は、ttBulkCpがロード全体を単一のトランザクションとして実行し、ロードの成功、失敗にかかわらず、そのトランザクションをコミットすることを示します。rollbackの値は、ttBulkCpがロード全体を単一のトランザクションとして実行し、ロードが失敗した場合には、そのトランザクションをロールバックすることを示します。0(ゼロ)以外の値は、ttBulkCpがnumRowsの挿入に成功するたびにコミットすることを示します。デフォルト値は1000です。
-xpオプションは、-cpオプションとともに使用して、データ・ストアの定期的なチェックポイントを有効にできます。

データファイルの書式

ttBulkCp入力ファイルの行は、空白行、コメント行、属性行またはデータ行のいずれかです。

属性行の書式

属性行の書式は、次のとおりです。

##ttBulkCp[:attribute=value]... 
 

コメント文字が#ではない場合でも、通常、属性行は10文字の文字列##ttBulkCpで始まります。この文字列の後には、0(ゼロ)または複数のファイル属性設定を指定できます。それぞれの属性の前には、コロンを付けます。

属性設定が有効なのは、入力ファイルの終わりまで、または同じ入力ファイルで他の属性行によって変更されるまでです。属性行で省略されているファイル属性の値は、変更されません。

コマンドライン・オプションは、ttBulkCpでサポートされるファイル属性の値よりも優先されます。ttBulkCpでサポートされるファイル属性は、次のとおりです。

このオプションは、-sコマンドライン・オプションで上書きされます。

コメント文字は、データファイルでのコメントの使用を無効にする、値noneに設定することもできます。

次のヘッダー行はフィールド・セパレータ文字を$に設定し、文字列を引用符で囲むことを無効にします。

##ttBulkCp:FSEP=$:QUOTES=0 
 

次のヘッダー行はコメントを無効にし、日付書式をOracle書式に設定します。

##ttBulkCp:COMMENTCHAR=none:DFORMAT=Oracle

次のヘッダー行は、日付書式をカスタム書式に設定します。

##ttBulkCp:DFORMAT='Mon DD, YYYY'
データ行の書式

データ行には、コピーされる表の行データが含まれます。各データ行は表の行に対応します。行は複数の入力ファイル行にまたがることはできません。データ行は、フィールド・セパレータ文字によって区切られる、列値のリストで構成されます。フィールド・セパレータの前後に、不要な空白文字を置くことはできません。それぞれの値の書式はその型によって決定されます。

NULL値

NULL値は、NULL(すべて大文字、引用符なし)、または空のフィールドとして表すことができます。

文字とUnicode文字列

CHAR、VARCHAR、NCHAR、NVARCHAR: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、文字列および文字は二重引用符で囲む必要があります。文字列を引用符で囲むことが無効になっている場合、文字列の中の二重引用符文字はどれも文字列自体の一部であるとみなされます。文字列を引用符で囲むことが有効になっているかどうかにかかわらず、ttBulkCpでは文字列の中の次のバックスラッシュ・エスケープ文字が認識されます。

また、  ~ ! @ # $ % ^ & * ( ) = : ; | < > ? , /文字のいずれもバックスラッシュでエスケープすることができます。多くの場合、これらの文字をエスケープする必要はありませんが、エスケープすると、文字列を引用符で囲むことが無効になっていても、コメント文字やフィールド・セパレータと解釈されるのを回避できます。

引用符で文字列を囲むことが有効になっている場合、空の文字列(""として表される)はNULLと区別されます。引用符で文字列を囲むことが無効になっている場合、NULLと区別できないため、空の文字列を表すことはできません。

Unicode文字列の場合、UTF-8マルチバイト・シーケンスを使用してエンコードされるUnicode文字は、UTF-8エンコード・モードのみでサポートされます。これらのシーケンスがASCIIエンコード・モードで使用された場合、ttBulkCpはシーケンス内の各バイトを別々の文字として解釈します。

固定長のCHARとNCHARフィールドの場合、フィールド長よりも短い文字列は空白で埋められます。VARCHARおよびNVARCHARフィールドの場合、文字列はデータファイルに指定されているとおり正確にTimesTenに入力されます。後続の空白は追加も削除されません。

バイナリ値

BINARY、VARBINARY: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、バイナリ値は中括弧({...})によって区切られます。文字列を引用符で囲むことが無効になっている場合、中括弧は使用されません。文字列を引用符で囲むことが有効になっているかどうかにかかわらず、バイナリ値はオプションの0xまたは0Xで始めることができます。

バイナリ・データの各バイトは、2つの16進数として表されます。たとえば、次のような4バイトのバイナリ文字列があるとします。

01101000 11001010 01001001 11101111

このバイナリ文字列は、次の8文字の16進文字列として表されます。

68CA49EF

AからFの文字によって表される数字は、大文字でも小文字でもかまいません。16進文字列は空白を含むことができません。16進文字列の文字の各対が単一のバイナリ・バイトに変換されるため、16進文字列には偶数の文字が含まれている必要があります。固定長バイナリ・フィールドでは、指定された値が列長よりも短い場合、値の右側に0(ゼロ)が埋め込まれます。バイナリ値の場合、バイナリ値はデータファイルに指定されているとおり正確にTimesTenに挿入されます。

文字列を引用符で囲むことが有効になっている場合、長さが0(ゼロ)のバイナリ値({ }として表される)はNULLと区別されます。文字列を引用符で囲むことが無効になっている場合、NULLと区別できないため、長さが0(ゼロ)のバイナリ値を表すことはできません。

整数値

TINYINT、SMALLINT、INTEGER、BIGINT: 整数値は、オプションの符号とその後に続く1つ以上の数字で構成されます。整数値では、E表記法は使用できません。次に例を示します。

       -14          98765         +186 

浮動小数点値

REAL、FLOAT、DOUBLE: 浮動小数点値は小数点の有無にかかわらず表すことができ、E表記法を使用することもできます。次に例を示します。

   3.1415
-0.00004
1.1e-3
5e3 
   .56
-682
-.62E-4
170. 

固定小数点値

DECIMAL、NUMERIC: 10進値は小数点の有無にかかわらず表すことができます。10進値ではE表記法を使用できません。次に例を示します。

5
-19.5
-11
000
-.1234
45.
-57.0
0.8888

日付、時刻およびタイムスタンプの値

日付、時刻およびタイムスタンプの値は、固定日時書式を選択するか、カスタムの日時書式を定義することによって指定できます。カスタムの日時書式は、TO_DATEおよびTO_CHAR SQL関数で使用されるものに類似した書式指定子を使用して定義されます。次の表を参照してください。

デフォルトのTimesTenの書式(DF*TF+FF)は日付および時刻書式に関して定義されているため、多くの場合、カスタムの日付または時刻書式が使用されている場合にもタイムスタンプ書式を定義する必要はありません。このため、日付書式を設定すると、日付値の書式のみでなく、タイムスタンプ値の日付部分も設定されます。同様に、タイムスタンプ書式を設定すると、時刻値とタイムスタンプ値の時刻部分の両方が影響を受けます。

指定子
説明および制限
Q 
四半期。コピーイン・モードでは使用できません。
YYYY 
年(4桁)。
Y,YYY 
年(カンマ付き)。
YYY 
年(末尾3桁)。コピーイン・モードでは使用できません。
Y 
年(末尾1桁)。コピーイン・モードでは使用できません。
MONTH 
月(空白が埋め込まれた9文字の正式名、大/小文字の区別なし)。
MON 
月(3文字の接頭辞、大/小文字の区別なし)。
MM 
月(01から12)。
DD 
日付(01から31)。
HH24 
時刻(00から23)。
HH12 
時刻(01から12)。
コピーイン・モードでは、AM/PMとともに使用する必要があります。
HH 
時刻(01から12)。
コピーイン・モードでは、AM/PMとともに使用する必要があります。
MI 
分(00から59)。
SS 
秒(00から59)。
FF 
小数秒。
6桁(-tsprecオプションで上書きされる場合を除く)。
FFn 
小数秒(nで指定される桁数)。
+FF 
コピーイン・モードでは、オプションの小数点に加えて、1つ以上の小数秒と一致します。コピーアウト・モードでは、.FFと同じです。
+FFn 
コピーイン・モードでは、+FFと同じです。コピーアウト・モードでは、.FFnと同じです。
AM
PM 
ドットなしの正午標識。コピーイン・モードでは、HHまたはHH12とともに使用する必要がありますが、HH24とともに使用しないでください。
A.M. 
P.M. 
ドット付きの正午標識。コピーイン・モードでは、HHまたはHH12とともに使用する必要がありますが、HH24とともに使用しないでください。
DF 
現在の日付書式(タイムスタンプ書式でのみ使用できます)。
TF 
現在の時刻書式(タイムスタンプ書式でのみ使用できます)。
- / ; : 
コピーイン・モードで一致するか、コピーアウト・モードで出力される記号。
"text" 
入力モードで一致するか、コピーアウト・モードで出力されるテキスト。
* 
コピーイン・モードで0個以上の空白文字(スペースまたはタブ)と一致するか、コピーアウト・モードで1つの空白を出力します。

固定の日付、時刻およびタイムスタンプ書式

日付値の場合、固定書式は次のとおりです。

書式
説明
ODBC
YYYY-MM-DD 
例: 1997-01-03(デフォルト値)
Oracle
DD-Mon-YYYY
例: 03-Jan-1997 
SYBASE1
MM/DD/YYYY 
例: 01/03/1997 
SYBASE2
DD-MM-YYYY 
例: 03-01-1997 
SYBASE3
Mon*DD*YYYY 
例: Jan 03 1997 

時刻値の場合、固定書式はODBCのみです。

書式
説明
ODBC
HH24:MI:SS 
例: 07:47:23 

タイムスタンプ値の場合、固定書式は次のとおりです。

書式
説明
ODBC
YYYY-MM-DD*HH24:MI:SS+FF 
例: 1997-01-03 07:47:23
Oracle
DD-Mon-YYYY*HH24:MI:SS+FF
例: 03-Jan-1997 07:47:23 
SYBASE1
MM/DD/YYYY*HH24:MI:SS+FF 
例: 01/03/1997 07:47:23 
SYBASE2
DD-MM-YYYY*HH24:MI:SS+FF 
例: 03-01-1997 07:47:23 
SYBASE3
Mon*DD*YYYY*HH24:MI:SS+FF 
例: Jan 03 199707:47:23 

デフォルトのタイムスタンプ値は、DF*TF+FFです。

次の入力ファイルは、5つの列(2つのCHAR列と、double列、integer列およびvarbinary列を1つずつ)を持つ表のためのものです。Mountain View行には、最後の3つの列にNULL値が存在することに注意してください。

##ttBulkCp 
# This is a comment. 
###### So is this. 
# The following line is a blank line. 
"New York","New York",-345.09,12,{12EF87A4E5} 
"Milan","Italy",0,0,{0x458F} 
"Paris","France",1.4E12,NULL,{F009} 
"Tokyo","Japan",-4.5E-18,26,{0x00} 
"Mountain View","California",,, 

上記の入力ファイルと同等の入力ファイルを次に示します。このファイルでは、引用符が無効、コメント文字が「$」、フィールド・セパレータが「|」です。

##ttBulkCp:QUOTES=0:COMMENTCHAR=$:FSEP=| 
$ This is a comment. 
$$$$$$ So is this. 
$ The following line is a blank line. 
New York|New York|-345.09|12|12EF87A4E5 
Milan|Italy|0|0|0x458F 
Paris|France|1.4E12|NULL|F009 
Tokyo|Japan|-4.5E-18|26|0x00 
Mountain View|California||| 

次のコマンドは、表mytblの内容をデータ・ストアmystoreからファイルmytbl.dumpにダンプします。

ttBulkCp -o DSN=mystore mytbl mytbl.dump 
 

次のコマンドは、mytbl.dumpファイルにリストされている行を、データ・ストアmystoreのmytblという表にロードします。エラー・メッセージは、mytbl.errファイルに格納されます。

ttBulkCp -i -e mytbl.err DSN=mystore mytbl mytbl.dump

前述のコマンドは、最初のエラーの発生後に終了します。入力ファイルの終わりまで(または、致命的エラーが発生するまで)コピーを続行させるには、次のように-m 0を使用します。

ttBulkCp -i -e mytbl.err -m 0 DSN=mystore mytbl mytbl.dump

制約違反によって発生するエラーを無視するには、-d ignoreを使用します。

ttBulkCp -i -e mytbl.err -d ignore DSN=mystore mytbl mytbl.dump
注意

データ・ストアの不慮の破損を防ぐため、ttBulkCpではOverwriteデータ・ストア属性は明示的に0に設定されます。詳細は、「Overwrite」を参照してください。

浮動小数点数が小さい場合、real、floatまたはdoubleの値は0(ゼロ)に切り捨てられる場合があります。

日付、時刻およびタイムスタンプの書式を設定する場合、入力モードでは不完全または冗長な書式は使用できません。データ型に存在しないフィールド(日付書式の分の指定子など)を参照すると、コピーアウト・モードではエラーを返します。コピーイン・モードでは、それらの指定子の値は無視されます。

ttBulkCpデータファイル内の引用符で囲まれた文字列を無効にする場合は、次の注意事項が適用されます。

関連項目

ttBackup
ttMigrate
ttRestore